const path = require('path');

const resolve = dir => {
  return path.join(__dirname, dir);
};

const css = {
    loaderOptions:{
        postcss:{
            plugins:[
                require('postcss-plugin-px2rem')({
                    rootValue:75,//换算基数， 默认100,75是因为设计稿为750px
                    // unitPrecision: 5, //允许REM单位增长到的十进制数字。
                    //propWhiteList: [],  //默认值是一个空数组，这意味着禁用白名单并启用所有属性。
                    // propBlackList: [], //黑名单
                    exclude: /(node_module)/,  //默认false，可以（reg）利用正则表达式排除某些文件夹的方法，例如/(node_module)/ 。如果想把前端UI框架内的px也转换成rem，请把此属性设为默认值
                    // selectorBlackList: [], //要忽略并保留为px的选择器
                    // ignoreIdentifier: false,  //（boolean/string）忽略单个属性的方法，启用ignoreidentifier后，replace将自动设置为true。
                    // replace: true, // （布尔值）替换包含REM的规则，而不是添加回退。
                    mediaQuery: false,  //（布尔值）允许在媒体查询中转换px。
                    minPixelValue: 3 //设置要替换的最小像素值(3px会被转rem)。 默认 0
                })
            ]
        }
    }
}

const chainWebpack = config =>{
    config.plugin('html')
      .tap(args => {
        args[0].title = "易见财税";
        return args;
      })

    config.resolve.alias
      .set('@', resolve('src'))
      .set('cps', resolve('src/components'))

    config.module.rule('vue').use('vue-loader').tap(options => {
        options.compilerOptions = {
            ...options.compilerOptions,
            // 忽略wx-开头的组件，这些是微信的默认组件
            isCustomElement: tag => tag.startsWith('wx-open')
        }
        return options
    })
}

module.exports = {
    publicPath: '/',
    outputDir: './production/public/dist',
    css,
    chainWebpack,
}